Conversation
- Add adaptive color system with light/dark mode support using NSColor appearance callbacks - Add appearance picker (System/Light/Dark) in Settings - Redesign sidebar with selection indicator bars, tinted icon backgrounds, and Smart Scan card - Redesign SmartScanView with thicker progress rings, staggered live results, and junk breakdown bar - Redesign Settings with native grouped Form layout and section icons - Replace heavy gradients with solid colors and subtle borders throughout - Add custom app icon from logo.png with proper rounded-rect background - Add SidebarLogo image asset for branding - Reduce glow and shadow intensity for a cleaner look - Bump version to 1.1.0 (build 4) - Update localization strings for zh-Hans and zh-Hant Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 3-screen onboarding flow shown on first launch - Welcome page with app logo, tagline, and feature cards - Full Disk Access page with step-by-step instructions and live permission polling - Ready page with access status confirmation - Animated page dots, skip button, spring-in logo animation - Persisted via @AppStorage so it only shows once - All strings use LocalizedStringKey for localization support Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Hey @zeck00, love this one! First-launch onboarding for Full Disk Access is genuinely important - the dismissible banner is too easy to ignore, and without FDA the app can't scan half the important directories. We've implemented an onboarding flow inspired by your approach - 3 pages (Welcome with feature cards, FDA setup with live status polling, and Ready confirmation). Shows only on first launch via @AppStorage. Your implementation details were solid - especially the timer-based FDA polling and the numbered steps in the FDA page. We kept those patterns. If you'd like to polish the onboarding further (animations, transitions, etc.) on the v2 codebase, contributions are very welcome! Thanks so much for all four PRs - you clearly care about making PureMac a great app. We really appreciate it. |
Inspired by community PRs #29, #30, #32, #33: - Onboarding: 3-page welcome flow (Welcome, FDA setup, Ready) Shows only on first launch via @AppStorage Polls FDA status every second with live UI update - Search: .searchable() in CategoryDetailView for filtering files - Confirmation: .confirmationDialog before all destructive operations - Protection: 27 Apple system apps excluded from uninstaller (Safari, Finder, Mail, Calendar, Photos, etc.) Also skips /System paths entirely
|
Hey @zeck00! Closing this - v2.0 now has a 3-page onboarding flow inspired by your approach! Welcome page with feature cards, FDA setup with live status polling, and Ready confirmation. Shows only on first launch via @AppStorage, just like your implementation. Sorry for closing all these PRs at once - we did a full native SwiftUI rewrite for v2.0 which changed everything. Your onboarding design was the best idea from all the PRs though - FDA setup is genuinely critical for first-time users and the banner was way too easy to dismiss. Would love if you could check out the new codebase and let us know what you think! If you want to polish the onboarding further (animations, transitions, better visual design), contributions are very welcome. Thanks so much for all four PRs - you clearly care about making PureMac great and we really appreciate it! |



Summary
First-launch onboarding that walks users through granting Full Disk Access. Right now the app just shows a dismissible banner that's easy to ignore — this gives new users a proper guided setup so they don't miss it.
3 screens:
Other details:
@AppStorage)LocalizedStringKeyfor i18n.focusable(false)to prevent tab cycling through buttonsTest plan
PureMac.OnboardingCompletefrom UserDefaults to trigger onboarding